home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Archive Magazine CD 1995
/
Archive Magazine CD 1995.iso
/
text
/
hints
/
volume_03
/
issue_05
< prev
next >
Wrap
Text File
|
1995-02-16
|
12KB
|
387 lines
• Window resizing bugs/errors − The bug in Interactive help Archive
2.11 page 8 is not a bug but a result of !Help setting a window work
area extent in less than a multiple of four. The program is in C so I
can’t edit it. I discovered this when writing my own software. When a
window was stretched to its full extent it would not grow smaller in the
y direction until you moved in to the left. R.D.
• *WIPE with mouse − In BASIC, (or at the operating system prompt for
that matter. Ed.) if you have the pointer ON (*POINTER) and do *WIPE *,
a mouse pointer appears enabling you to use <se-lect> to delete the file
and <menu> or <adjust> to keep the file.
3.5
• Alerion cheat − For those who have the RISC-OS version of Alerion,
you can select the wave you wish to play by pressing the letters <A> to
<O> while on the title screen.
3.5
• BASIC Editor bugs − There is a bug or two in the Basic Editor v1.00
that comes on the Applications Disc 2. If you exactly fill the first
line so that the cursor jumps to the next line, and then press return,
the screen looks something like this:
3.5
10 REM This is meant to be right over to the edge
3.5
11 C
3.5
20 xxxxxxxxxxxx
3.5
30 xxxx
3.5
If you then press the <page down> key, the comp-uter will freeze.
3.5
Another bug, whose circumstances cannot be so readily repeated, occurs
when pressing the <cursor down> key causing the program to shoot off the
top of the screen, and nothing will bring it back again.
3.5
Both of these are ‘mild’ bugs because pressing <reset> followed by
typing *BASIC and OLD and EDIT restores everything back to it original
state.
3.5
• BASIC first please − If you want your computer to start up in BASIC
instead of the desktop, use *CON. LAN. 4 and then do a <ctrl-break>.
This also means that the full computer memory is available to your
program. If you go to BASIC with <f12> to get a star command and then
typing BASIC, you only get the memory available that has been allocated
to the next application under the task display (651516 bytes). The
reason for this is that BASIC is being run as the next task within the
desktop environment. This can be seen by typing QUIT which will drop you
back into the desktop with everything as it was before.
3.5
The other way to get the full memory available is to press <shift-ctrl-
f12> which will drop you out of the desktop completely, closing all
tasks. This drops you into the operating system, so typing BASIC and
then QUIT brings you back to the operating system prompt, not into the
desktop.
3.5
(This is one of those things which, according to Adrian is “obvious”,
but to those of us who never reads manuals, it is news! So, the next
time you discover something which someone else thinks is “obvious”, send
it in to us as an H&T. Ed.)
3.5
• CTRLing VDU scrolling − You can use the <scroll lock> key on the
Archimedes to stop the computer printing (either to the screen or
printer). Another method of doing this is to hold down the <shift> and
<ctrl> keys. However, if you just hold the <ctrl> key down then you can
slow down the speed of printing to about a 20th of it original speed.
3.5
• Database routine − If you’ve written a database in BASIC e.g. an
address book, it can be difficult to find a name unless you stick to a
format where all entries are in upper case, or lower case apart from the
initial letters. This little routine which uses 104 bytes is the
solution. As well as accepting upper or lower case it also will accept
the character “#” as a single character wildcard .
3.5
It is identical to the BASIC command.
3.5
INSTR(string,substring,start of search)
3.5
Except the variables A%, $B% and $C% are declared before X=USR(code) is
called, i.e.
3.5
$B%=“main string”
3.5
$C%=“substring”
3.5
A%=start of search
3.5
X=USR(code)
3.5
There is an example program with the listing.
3.5
160 DEFPROCass
3.5
170 FORopt=0TO3 STEP3
3.5
180 P%=code
3.5
190 [ OPT opt
3.5
200 STMFD R13!,{r1-r12 ,R14} ;store
3.5
registers. not R0
3.5
210 MOV R5,R0 ;start of search
3.5
220 MOV R0,#0 ;reset R0 (A%) for
3.5
return
3.5
230 LDRB R7,[R2,#0] ;load R7 with
3.5
first byte of $C%
3.5
240 CMP R7,#13 ;is it a CR?
3.5
250 BEQ end ;i.e. null sub-
3.5
string. exit to BASIC
3.5
260
3.5
270 .nomatch
3.5
280 MOV R4,#0 ;initialise counters
3.5
290 MOV R3,#0
3.5
300 .nextchar
3.5
310 LDRB R6,[R1,R5] ;get byte of
3.5
string
3.5
320 CMP R6,#13 ;is it CR ie end
3.5
of string
3.5
330 BEQ end ;if yes, substring
3.5
not found. exit
3.5
340 AND R6,R6,#95 ;AND to ignore
3.5
case
3.5
350 LDRB R7,[R2,R4] ;first byte of
3.5
substring
3.5
360 CMP R7,#13 ;is it a CR?
3.5
370 SUBEQ R0,R5,R3 ;yes i.e. end
3.5
of substring
3.5
380 ;R5-R3 gives
3.5
position in string
3.5
390 ADDEQ R0,R0,#1 ;plus 1. First
3.5
char=0
3.5
400 BEQ end ; and exit
3.5
410
3.5
420 AND R7,R7,#95 ;AND to ignore
3.5
case
3.5
430 ADD R5,R5,#1 ;increment
3.5
counters for next chars
3.5
440 ADD R4,R4,#1
3.5
450 CMP R7,#3 ;is it a hash?
3.5
If so make equal
3.5
460 MOVEQ R6,R7
3.5
470 CMP R6,R7 ;ARE bytes equal
3.5
480 ADDEQ R3,R3,#1 ;yes − get next
3.5
sub string char
3.5
490 BEQ nextchar
3.5
500 BNE nomatch ;no try next
3.5
string char
3.5
510 .end
3.5
520 LDMFD R13!,{r1-r12 ,R15};restore
3.5
registers. R0 has INSTR
3.5
530 ]
3.5
540 NEXT
3.5
550 ENDPROC
3.5
• Disappearing menus − After selecting an option on a menu, the menu
disappears. To prevent this: instead of using <select> to select option,
use <adjust>, and the menu will then stay on the screen.
3.5
• Drawing with Outline fonts - If you possess Acorn DTP, you can use
the !FontEd public domain program to create !Draw paths of the
individual letters. This is done by dragging the character in the main
!FontEd window into the !Draw document window. Once transferred, the
letter can be manip-ulated just like any other drawing e.g. rotated,
stret-ched, filled, etc. With a little patience, some very effective
titles can be created.
3.5
• DTP memory − A couple of hints to give extra memory when using Acorn
DTP with a 1M machine: load the printer driver first and then quit
before entering DTP. Only the modules are used for printing, which are
left installed after you quit. Secondly, the use of screen mode 1 uses
only 24k of memory and since it is a four colour mode, it gives a better
grey scale than Mode 0.
3.5
• E-Type bug − There is a bug in ‘All Tracks’ option of E-Type. If you
press hard on the brakes when the time reaches 0:01 the program
sometimes goes bonkers and when you are placed on the new track, your
Trip Score increases.
3.5
• External ST506 drives − If you add an external hard drive to an old
440 or 310, you may find that the whole system dies completely for no
apparent reason. The problem is that if the external drive is powered up
before the computer, a small voltage can be produced within the computer
so when the power suplly on the computer tries to power up, it sees this
voltage, panics and shuts down again! The simple solution is to power up
the computer first and then the external drive.
3.5
When switching off, work on the “last in, first out” principle and
switch off the drive first. This is good practice since, if the drive is
left switched on, as the computer powers down, extraneous signals on the
drive’s data and control lines could conceivably be interpreted as
something nasty like, “ Please wipe track 0, sector 0” and you end up
with a “Bad Free Space Map”! (I’m sure that is Somebody’s Law.)
3.5
• Interdictor Cheat − It is possible to alter your landing pad in
Interdictor. Edit StateSave via !Edit. Go down to the 10th number and
alter it. Note that Landing pad 2 is actually Landing pad 1 and so alter
the 10th number to a 1 and so on. Also note that there are 7 runways,
the 7th being known as the number 6. This might sound confusing but
really it’s not!
3.5
• Large hard drives on A410/1? − Someone asked us to find out whether
it was possible to put hard drives with more than 8 heads onto an A410/
1. All we have been able to find out is that, to get the extra head
select line, you need to change links LK12 and LK13. Whether the
software will cope, we do not know. If anyone has any success with it,
perhaps they would let us know.
3.5
• Virus protection − If you are passing discs around, especially PD
discs, guard yourself against the virus. When you receive or pass on a
disc, you run the risk of your machine picking or up a virus or logic
bomb.
3.5
Passing on files: Format an unused disc and copy only the files you wish
to send. Alternatively, wipe the disc (*Wipe * FR~C), copy the files and
run my disc wiping program (see below). This is needed because deleting
a file does not erase the data on the disc; it just causes the computer
to forget about it. The data can be retrieved by anyone with a disc
sector editor, so run the program if you want to thoroughly scrub the
unused parts of the disc.
3.5
Receiving files: Copy across only those files which you need. Try not to
use the desktop as some logic bombs can sit in an application’s !Boot
file and spring out at you when you open their directory viewer.* After
copying, the original disc should be cleared by reformatting.
3.5
10 REM >Eradicate
3.5
20 REM Guards against the Virus and
3.5
accidental giveaways of data
3.5
30 REM Erases totally the unused parts
3.5
of a disc
3.5
40 REM PUBLIC DOMAIN by Sandie Goh
3.5
50 REM Version 1.21 (20-Sep-1989)
3.5
60 :
3.5
70 MODE 3:OFF:DIM blankspace 409600
3.5
80 PRINT“Disc Eradicator”
3.5
90 PRINT“===============”‘
3.5
100 PRINT“PUBLIC DOMAIN by Sandie Goh,
3.5
Version 1.21 (20-Sep-1989)“‘
3.5
110 PRINT“Erases totally the unused
3.5
parts of a disc.“
3.5
120 PRINT“HELPS guard against viruses,
3.5
logic bombs etc.“‘
3.5
130 PRINT“Insert disc to be cleaned in
3.5
drive 0 and press a key.“‘
3.5
140 *FX 15,1
3.5
150 IF GET
3.5
160 PRINT“Compacting, to collect free
3.5
space into a single block.“
3.5
170 REPEAT
3.5
180 *COMPACT 0
3.5
190 SYS“ADFS_FreeSpace”,“0” TO total,
3.5
biggest
3.5
200 UNTIL biggest=total
3.5
210 PRINT“Saving dummy files into the
3.5
free space to wipe anything there.“
3.5
220 REM Use unlikely filenames to avoid
3.5
clashes
3.5
230 IF biggest>409600 THEN
3.5
240 OSCLI (“SAVE ZZDelONN12 ”+STR$~
3.5
blankspace+“ +64000”)
3.5
250 biggest=biggest-409600
3.5
260 ENDIF
3.5
270 OSCLI (“SAVE XXDelONN12 ”+STR$~
3.5
blankspace+“ +”+STR$~biggest)
3.5
280 PRINT“Deleting the dummy files to
3.5
release the space.“‘
3.5
290 *REMOVE ZZDelONN12
3.5
300 *DELETE XXDelONN12
3.5
310 PRINT“I now pronounce this disc
3.5
clean.“
3.5
*If you don’t believe me, I was myself the victim of a booby-trapped
disc. After mounting a disc I picked up from a friend, I copied its
contents across to my hard disc, only to find that it (the winchester)
was now blank! Believing the problem to be a bug in the desktop or
chance disc failure, I restored the hard disc and tried again − the same
thing happened again, but this time when I did a *Compact 4.
3.5
I tried everything and was just about to give up and complain to Acorn
when a friend phoned me with the same problem. It turns out that he too
had a copy of the disc I had picked up and I immediately became
suspicious. Further research showed that the disc contained an invisible
program which sat in the machine waiting for an opportune moment, then
zapped the Winchester with a *Wipe :4.* FR~C.
3.5
The subtlety of the program makes it even more deadly − the “error”
occurs when you write to the hard disc using the desktop, so you are
lead to think (as I was) that a bug or disc error is responsible. So be
warned. Guard against the virus.
3.5